Il Progetto: Forma Standard
Un problema di ottimizzazione matematica, o semplicemente un problema di ottimizzazione, ha la forma minimo $f_0(x)$ soggetto a $f_i(x) \le b_i$, con $i=1, \dots, m$. Formalmente, lo esprimiamo come:
$$\begin{aligned} &\text{minimizza} && f_0(x) \\ &\text{soggetto a} && f_i(x) \le b_i, \quad i=1, \dots, m \end{aligned}$$Questa struttura è il "DNA" dell'ottimizzazione. Ogni simbolo rappresenta un componente fondamentale del mondo reale:
- I Comandi ($x$): Il vettore $x = (x_1, \dots, x_n)$ è la variabile di ottimizzazione del problema. Rappresentano le decisioni specifiche o i parametri sotto il nostro controllo — ad esempio il peso del drone e la potenza del motore.
- L'Obiettivo ($f_0$): La funzione $f_0 : \mathbf{R}^n \to \mathbf{R}$ è la funzione obiettivo, che quantifica il "costo" o la "perdita" che vogliamo minimizzare, come l'energia consumata per chilometro.
- Le Regole ($f_i \le b_i$): Le funzioni $f_i : \mathbf{R}^n \to \mathbf{R}, i = 1, \dots, m$, sono le funzioni di vincolo (disuguaglianza), mentre le costanti $b_1, \dots, b_m$ sono i limiti, o bound, dei vincoli. Questi definiscono lo spazio "ammissibile" — il drone deve generare abbastanza portanza per volare e non può superare il limite di peso della batteria $b_i$.
La Caccia alla Soluzione Ottimale
Linearità vs. Nonlinearità
La complessità nel trovare $x^\star$ dipende interamente dalla natura matematica di $f_0$ e $f_i$.
Se il problema di ottimizzazione non è lineare (cioè manca proporzionalità e additività), si chiama un programma non lineare. I programmi non lineari sono il frontiera selvaggia dell'ottimizzazione; mancano della struttura prevedibile dei sistemi lineari e richiedono un insieme fondamentalmente diverso, spesso più sofisticato, di strumenti analitici per essere risolti.